page.tsx 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481
  1. import { Button } from "@/components/ui/button"
  2. import { ArrowLeftIcon } from "lucide-react"
  3. import Link from "next/link"
  4. import Navigation from "@/components/navigation"
  5. import { ThemeProvider } from "@/components/theme-provider"
  6. import Footer from "@/components/footer"
  7. import { Metadata } from "next"
  8. export async function generateMetadata({ params }: { params: Promise<{ locale: string }> }): Promise<Metadata> {
  9. const { locale } = await params
  10. const titles = {
  11. en: "Cookie Policy - Aiartools | AI-Powered Image Transformation",
  12. zh: "Cookie政策 - Aiartools | AI驱动的图像变换工具"
  13. }
  14. const descriptions = {
  15. en: "Learn about how Aiartools uses cookies to enhance your experience. Understand our cookie types, security measures, and how to manage your preferences.",
  16. zh: "了解Aiartools如何使用Cookie来增强您的体验。了解我们的Cookie类型、安全措施以及如何管理您的偏好。"
  17. }
  18. const title = titles[locale as keyof typeof titles] || titles.en
  19. const description = descriptions[locale as keyof typeof descriptions] || descriptions.en
  20. return {
  21. title,
  22. description,
  23. openGraph: {
  24. title,
  25. description,
  26. url: `https://aiartools.com/${locale}/cookies`,
  27. siteName: "Aiartools",
  28. locale: locale === 'zh' ? 'zh_CN' : 'en_US',
  29. type: 'website',
  30. },
  31. twitter: {
  32. card: 'summary',
  33. title,
  34. description,
  35. },
  36. alternates: {
  37. canonical: `https://aiartools.com/${locale}/cookies`,
  38. languages: {
  39. 'en': 'https://aiartools.com/en/cookies',
  40. 'zh': 'https://aiartools.com/zh/cookies',
  41. },
  42. },
  43. }
  44. }
  45. interface CookiesPageProps {
  46. params: Promise<{ locale: string }>
  47. }
  48. export default async function CookiesPage({ params }: CookiesPageProps) {
  49. const { locale } = await params
  50. const t = (key: string) => {
  51. const translations: Record<string, Record<string, string | string[]>> = {
  52. en: {
  53. backToHome: "Back to Home",
  54. title: "Cookie Policy",
  55. lastUpdated: "Last updated: May 2025",
  56. whatAreCookiesTitle: "What Are Cookies",
  57. whatAreCookiesText:
  58. "Cookies are small text files that are stored on your computer or mobile device when you visit our website. They are widely used to make websites work more efficiently and provide information to website owners about how users interact with their sites.",
  59. howWeUseCookiesTitle: "How We Use Cookies",
  60. howWeUseCookiesText:
  61. "Aiartools uses cookies to enhance your experience on our website and service. We use cookies for the following purposes:",
  62. cookieUsesList: [
  63. "Essential Functionality: To enable core website features and user authentication",
  64. "User Preferences: To remember your settings, language preferences, and theme choices",
  65. "Performance: To analyze how our website is used and improve its performance",
  66. "Security: To protect against fraud and enhance security",
  67. "Analytics: To understand user behavior and improve our service",
  68. ],
  69. typesOfCookiesTitle: "Types of Cookies We Use",
  70. essentialCookiesTitle: "Essential Cookies",
  71. essentialCookiesDesc: "These cookies are necessary for the website to function properly.",
  72. essentialCookiesList: [
  73. "Session Management: Keeps you logged in during your session",
  74. "Security: Protects against cross-site request forgery attacks",
  75. "Load Balancing: Ensures optimal server performance",
  76. "Form Data: Remembers form inputs during your session",
  77. ],
  78. essentialDuration: "Duration: Session cookies (deleted when you close your browser) or up to 1 year",
  79. preferenceCookiesTitle: "Preference Cookies",
  80. preferenceCookiesDesc: "These cookies remember your choices and preferences.",
  81. preferenceCookiesList: [
  82. "Language Settings: Remembers your preferred language (English/Chinese)",
  83. "Theme Preference: Saves your dark/light mode choice",
  84. "UI Settings: Remembers interface customizations",
  85. "Cookie Consent: Records your cookie preferences",
  86. ],
  87. preferenceDuration: "Duration: Up to 1 year",
  88. analyticsCookiesTitle: "Analytics Cookies",
  89. analyticsCookiesDesc: "These cookies help us understand how you use our website.",
  90. analyticsCookiesList: [
  91. "Usage Statistics: Tracks page views, session duration, and user flows",
  92. "Feature Usage: Monitors which features are most popular",
  93. "Performance Metrics: Measures page load times and errors",
  94. "A/B Testing: Enables testing of different interface versions",
  95. ],
  96. analyticsDuration: "Duration: Up to 2 years",
  97. marketingCookiesTitle: "Marketing Cookies",
  98. marketingCookiesDesc: "These cookies are used to deliver relevant advertisements.",
  99. marketingCookiesList: [
  100. "Ad Targeting: Shows relevant ads based on your interests",
  101. "Conversion Tracking: Measures the effectiveness of our marketing campaigns",
  102. "Retargeting: Shows ads to users who have visited our website",
  103. "Social Media: Enables sharing and social media integration",
  104. ],
  105. marketingDuration: "Duration: Up to 1 year",
  106. thirdPartyCookiesTitle: "Third-Party Cookies",
  107. thirdPartyCookiesText: "We may use third-party services that set their own cookies. These include:",
  108. analyticsServicesTitle: "Analytics Services",
  109. analyticsServicesList: [
  110. "Google Analytics: Website traffic and user behavior analysis",
  111. "Mixpanel: Product analytics and user engagement tracking",
  112. ],
  113. paymentProcessorsTitle: "Payment Processors",
  114. paymentProcessorsList: [
  115. "Stripe: Secure payment processing and fraud prevention",
  116. "PayPal: Alternative payment method processing",
  117. ],
  118. supportServicesTitle: "Support Services",
  119. supportServicesList: [
  120. "Intercom: Customer support chat functionality",
  121. "Zendesk: Help desk and support ticket management",
  122. ],
  123. managingPreferencesTitle: "Managing Your Cookie Preferences",
  124. browserSettingsTitle: "Browser Settings",
  125. browserSettingsText: "You can control cookies through your browser settings. Most browsers allow you to:",
  126. browserSettingsList: [
  127. "View and delete existing cookies",
  128. "Block all cookies or cookies from specific websites",
  129. "Set preferences for accepting cookies",
  130. "Receive notifications when cookies are set",
  131. ],
  132. ourCookiePreferencesTitle: "Our Cookie Preferences",
  133. ourCookiePreferencesText: "We provide a cookie consent banner that allows you to:",
  134. ourCookiePreferencesList: [
  135. "Accept or reject non-essential cookies",
  136. "Customize your cookie preferences by category",
  137. "Change your preferences at any time",
  138. "Learn more about each type of cookie we use",
  139. ],
  140. optOutLinksTitle: "Opt-Out Links",
  141. optOutLinksText: "You can opt out of specific third-party cookies:",
  142. impactOfDisablingTitle: "Impact of Disabling Cookies",
  143. impactNote: "Please Note: Disabling certain cookies may affect your experience on our website:",
  144. impactList: [
  145. "Essential Cookies: Disabling these may prevent core functionality from working",
  146. "Preference Cookies: You may need to reset your preferences on each visit",
  147. "Analytics Cookies: We won't be able to improve our service based on usage data",
  148. "Marketing Cookies: You may see less relevant advertisements",
  149. ],
  150. cookieSecurityTitle: "Cookie Security",
  151. cookieSecurityText: "We take cookie security seriously and implement the following measures:",
  152. cookieSecurityList: [
  153. "Secure Transmission: Cookies are transmitted over secure HTTPS connections",
  154. "HttpOnly Flags: Sensitive cookies are protected from client-side access",
  155. "SameSite Attributes: Cookies are protected against cross-site request forgery",
  156. "Regular Audits: We regularly review and update our cookie practices",
  157. "Minimal Data: Cookies contain only necessary information",
  158. ],
  159. updatesToPolicyTitle: "Updates to This Policy",
  160. updatesToPolicyText:
  161. 'We may update this Cookie Policy from time to time to reflect changes in our practices or for other operational, legal, or regulatory reasons. We will notify you of any material changes by posting the updated policy on our website and updating the "Last updated" date.',
  162. contactUsTitle: "Contact Us",
  163. contactUsText: "If you have any questions about our use of cookies or this Cookie Policy, please contact us:",
  164. contactInfo:
  165. "Email: wt@wmcircle.cn\nSubject Line: Cookie Policy Inquiry\nResponse Time: We aim to respond within 24 hours",
  166. },
  167. zh: {
  168. backToHome: "返回首页",
  169. title: "Cookie政策",
  170. lastUpdated: "最后更新:2025年5月",
  171. whatAreCookiesTitle: "什么是Cookie",
  172. whatAreCookiesText:
  173. "Cookie是当您访问我们的网站时存储在您的计算机或移动设备上的小文本文件。它们被广泛用于使网站更高效地工作,并向网站所有者提供有关用户如何与其网站交互的信息。",
  174. howWeUseCookiesTitle: "我们如何使用Cookie",
  175. howWeUseCookiesText: "Aiartools使用Cookie来增强您在我们网站和服务上的体验。我们将Cookie用于以下目的:",
  176. cookieUsesList: [
  177. "基本功能:启用核心网站功能和用户身份验证",
  178. "用户偏好:记住您的设置、语言偏好和主题选择",
  179. "性能:分析我们网站的使用情况并改善其性能",
  180. "安全:防止欺诈并增强安全性",
  181. "分析:了解用户行为并改进我们的服务",
  182. ],
  183. typesOfCookiesTitle: "我们使用的Cookie类型",
  184. essentialCookiesTitle: "必要Cookie",
  185. essentialCookiesDesc: "这些Cookie是网站正常运行所必需的。",
  186. essentialCookiesList: [
  187. "会话管理:在您的会话期间保持您的登录状态",
  188. "安全:防止跨站请求伪造攻击",
  189. "负载均衡:确保最佳服务器性能",
  190. "表单数据:在您的会话期间记住表单输入",
  191. ],
  192. essentialDuration: "持续时间:会话Cookie(关闭浏览器时删除)或最多1年",
  193. preferenceCookiesTitle: "偏好Cookie",
  194. preferenceCookiesDesc: "这些Cookie记住您的选择和偏好。",
  195. preferenceCookiesList: [
  196. "语言设置:记住您的首选语言(英语/中文)",
  197. "主题偏好:保存您的深色/浅色模式选择",
  198. "UI设置:记住界面自定义",
  199. "Cookie同意:记录您的Cookie偏好",
  200. ],
  201. preferenceDuration: "持续时间:最多1年",
  202. analyticsCookiesTitle: "分析Cookie",
  203. analyticsCookiesDesc: "这些Cookie帮助我们了解您如何使用我们的网站。",
  204. analyticsCookiesList: [
  205. "使用统计:跟踪页面浏览量、会话持续时间和用户流程",
  206. "功能使用:监控哪些功能最受欢迎",
  207. "性能指标:测量页面加载时间和错误",
  208. "A/B测试:启用不同界面版本的测试",
  209. ],
  210. analyticsDuration: "持续时间:最多2年",
  211. marketingCookiesTitle: "营销Cookie",
  212. marketingCookiesDesc: "这些Cookie用于提供相关广告。",
  213. marketingCookiesList: [
  214. "广告定位:根据您的兴趣显示相关广告",
  215. "转化跟踪:衡量我们营销活动的有效性",
  216. "重新定位:向访问过我们网站的用户显示广告",
  217. "社交媒体:启用分享和社交媒体集成",
  218. ],
  219. marketingDuration: "持续时间:最多1年",
  220. thirdPartyCookiesTitle: "第三方Cookie",
  221. thirdPartyCookiesText: "我们可能使用设置自己Cookie的第三方服务。这些包括:",
  222. analyticsServicesTitle: "分析服务",
  223. analyticsServicesList: ["Google Analytics:网站流量和用户行为分析", "Mixpanel:产品分析和用户参与度跟踪"],
  224. paymentProcessorsTitle: "支付处理器",
  225. paymentProcessorsList: ["Stripe:安全支付处理和欺诈防护", "PayPal:替代支付方式处理"],
  226. supportServicesTitle: "支持服务",
  227. supportServicesList: ["Intercom:客户支持聊天功能", "Zendesk:帮助台和支持票据管理"],
  228. managingPreferencesTitle: "管理您的Cookie偏好",
  229. browserSettingsTitle: "浏览器设置",
  230. browserSettingsText: "您可以通过浏览器设置控制Cookie。大多数浏览器允许您:",
  231. browserSettingsList: [
  232. "查看和删除现有Cookie",
  233. "阻止所有Cookie或来自特定网站的Cookie",
  234. "设置接受Cookie的偏好",
  235. "在设置Cookie时接收通知",
  236. ],
  237. ourCookiePreferencesTitle: "我们的Cookie偏好",
  238. ourCookiePreferencesText: "我们提供Cookie同意横幅,允许您:",
  239. ourCookiePreferencesList: [
  240. "接受或拒绝非必要Cookie",
  241. "按类别自定义您的Cookie偏好",
  242. "随时更改您的偏好",
  243. "了解更多关于我们使用的每种Cookie类型",
  244. ],
  245. optOutLinksTitle: "退出链接",
  246. optOutLinksText: "您可以退出特定的第三方Cookie:",
  247. impactOfDisablingTitle: "禁用Cookie的影响",
  248. impactNote: "请注意:禁用某些Cookie可能会影响您在我们网站上的体验:",
  249. impactList: [
  250. "必要Cookie:禁用这些可能会阻止核心功能工作",
  251. "偏好Cookie:您可能需要在每次访问时重置您的偏好",
  252. "分析Cookie:我们将无法根据使用数据改进我们的服务",
  253. "营销Cookie:您可能会看到不太相关的广告",
  254. ],
  255. cookieSecurityTitle: "Cookie安全",
  256. cookieSecurityText: "我们认真对待Cookie安全并实施以下措施:",
  257. cookieSecurityList: [
  258. "安全传输:Cookie通过安全的HTTPS连接传输",
  259. "HttpOnly标志:敏感Cookie受到客户端访问保护",
  260. "SameSite属性:Cookie受到跨站请求伪造保护",
  261. "定期审计:我们定期审查和更新我们的Cookie实践",
  262. "最少数据:Cookie仅包含必要信息",
  263. ],
  264. updatesToPolicyTitle: "政策更新",
  265. updatesToPolicyText:
  266. "我们可能会不时更新此Cookie政策,以反映我们实践中的变化或出于其他运营、法律或监管原因。我们将通过在我们的网站上发布更新的政策并更新\"最后更新\"日期来通知您任何重大变更。",
  267. contactUsTitle: "联系我们",
  268. contactUsText: "如果您对我们使用Cookie或此Cookie政策有任何疑问,请联系我们:",
  269. contactInfo: "电子邮件:wt@wmcircle.cn\n主题行:Cookie政策咨询\n响应时间:我们力争在24小时内回复",
  270. },
  271. }
  272. return translations[locale]?.[key] || translations.en[key]
  273. }
  274. return (
  275. <ThemeProvider attribute="class" defaultTheme="light" enableSystem disableTransitionOnChange>
  276. <div className="min-h-screen bg-background">
  277. <Navigation locale={locale} />
  278. <div className="pt-20">
  279. <div className="container mx-auto px-4 sm:px-6 lg:px-8 py-12">
  280. <div className="max-w-4xl mx-auto">
  281. {/* Header */}
  282. <div className="mb-8">
  283. <Link href={`/${locale === 'en' ? 'en' : locale}`}>
  284. <Button variant="ghost" className="mb-4">
  285. <ArrowLeftIcon className="w-4 h-4 mr-2" />
  286. {t("backToHome")}
  287. </Button>
  288. </Link>
  289. <h1 className="text-4xl font-bold mb-4">{t("title")}</h1>
  290. <p className="text-muted-foreground">{t("lastUpdated")}</p>
  291. </div>
  292. {/* Content */}
  293. <div className="prose prose-gray dark:prose-invert max-w-none space-y-8">
  294. {/* 1. What Are Cookies */}
  295. <section>
  296. <h2 className="text-2xl font-semibold mb-4">1. {t("whatAreCookiesTitle")}</h2>
  297. <p className="text-muted-foreground leading-relaxed">{t("whatAreCookiesText")}</p>
  298. </section>
  299. {/* 2. How We Use Cookies */}
  300. <section>
  301. <h2 className="text-2xl font-semibold mb-4">2. {t("howWeUseCookiesTitle")}</h2>
  302. <p className="text-muted-foreground leading-relaxed mb-4">{t("howWeUseCookiesText")}</p>
  303. <ul className="list-disc pl-6 space-y-2">
  304. {(t("cookieUsesList") as string[]).map((item, index) => (
  305. <li key={index} className="text-muted-foreground">{item}</li>
  306. ))}
  307. </ul>
  308. </section>
  309. {/* 3. Types of Cookies We Use */}
  310. <section>
  311. <h2 className="text-2xl font-semibold mb-6">3. {t("typesOfCookiesTitle")}</h2>
  312. {/* Essential Cookies */}
  313. <div className="mb-6">
  314. <h3 className="text-xl font-semibold mb-3">3.1 {t("essentialCookiesTitle")}</h3>
  315. <p className="text-muted-foreground mb-3">{t("essentialCookiesDesc")}</p>
  316. <ul className="list-disc pl-6 space-y-2 mb-3">
  317. {(t("essentialCookiesList") as string[]).map((item, index) => (
  318. <li key={index} className="text-muted-foreground">{item}</li>
  319. ))}
  320. </ul>
  321. <p className="text-sm text-muted-foreground italic">{t("essentialDuration")}</p>
  322. </div>
  323. {/* Preference Cookies */}
  324. <div className="mb-6">
  325. <h3 className="text-xl font-semibold mb-3">3.2 {t("preferenceCookiesTitle")}</h3>
  326. <p className="text-muted-foreground mb-3">{t("preferenceCookiesDesc")}</p>
  327. <ul className="list-disc pl-6 space-y-2 mb-3">
  328. {(t("preferenceCookiesList") as string[]).map((item, index) => (
  329. <li key={index} className="text-muted-foreground">{item}</li>
  330. ))}
  331. </ul>
  332. <p className="text-sm text-muted-foreground italic">{t("preferenceDuration")}</p>
  333. </div>
  334. {/* Analytics Cookies */}
  335. <div className="mb-6">
  336. <h3 className="text-xl font-semibold mb-3">3.3 {t("analyticsCookiesTitle")}</h3>
  337. <p className="text-muted-foreground mb-3">{t("analyticsCookiesDesc")}</p>
  338. <ul className="list-disc pl-6 space-y-2 mb-3">
  339. {(t("analyticsCookiesList") as string[]).map((item, index) => (
  340. <li key={index} className="text-muted-foreground">{item}</li>
  341. ))}
  342. </ul>
  343. <p className="text-sm text-muted-foreground italic">{t("analyticsDuration")}</p>
  344. </div>
  345. {/* Marketing Cookies */}
  346. <div className="mb-6">
  347. <h3 className="text-xl font-semibold mb-3">3.4 {t("marketingCookiesTitle")}</h3>
  348. <p className="text-muted-foreground mb-3">{t("marketingCookiesDesc")}</p>
  349. <ul className="list-disc pl-6 space-y-2 mb-3">
  350. {(t("marketingCookiesList") as string[]).map((item, index) => (
  351. <li key={index} className="text-muted-foreground">{item}</li>
  352. ))}
  353. </ul>
  354. <p className="text-sm text-muted-foreground italic">{t("marketingDuration")}</p>
  355. </div>
  356. </section>
  357. {/* 4. Third-Party Cookies */}
  358. <section>
  359. <h2 className="text-2xl font-semibold mb-4">4. {t("thirdPartyCookiesTitle")}</h2>
  360. <p className="text-muted-foreground mb-4">{t("thirdPartyCookiesText")}</p>
  361. <div className="space-y-4">
  362. <div>
  363. <h4 className="font-semibold mb-2">{t("analyticsServicesTitle")}</h4>
  364. <ul className="list-disc pl-6 space-y-1">
  365. {(t("analyticsServicesList") as string[]).map((item, index) => (
  366. <li key={index} className="text-muted-foreground">{item}</li>
  367. ))}
  368. </ul>
  369. </div>
  370. <div>
  371. <h4 className="font-semibold mb-2">{t("paymentProcessorsTitle")}</h4>
  372. <ul className="list-disc pl-6 space-y-1">
  373. {(t("paymentProcessorsList") as string[]).map((item, index) => (
  374. <li key={index} className="text-muted-foreground">{item}</li>
  375. ))}
  376. </ul>
  377. </div>
  378. <div>
  379. <h4 className="font-semibold mb-2">{t("supportServicesTitle")}</h4>
  380. <ul className="list-disc pl-6 space-y-1">
  381. {(t("supportServicesList") as string[]).map((item, index) => (
  382. <li key={index} className="text-muted-foreground">{item}</li>
  383. ))}
  384. </ul>
  385. </div>
  386. </div>
  387. </section>
  388. {/* 5. Managing Your Cookie Preferences */}
  389. <section>
  390. <h2 className="text-2xl font-semibold mb-4">5. {t("managingPreferencesTitle")}</h2>
  391. <div className="space-y-6">
  392. <div>
  393. <h3 className="text-xl font-semibold mb-3">5.1 {t("browserSettingsTitle")}</h3>
  394. <p className="text-muted-foreground mb-3">{t("browserSettingsText")}</p>
  395. <ul className="list-disc pl-6 space-y-2">
  396. {(t("browserSettingsList") as string[]).map((item, index) => (
  397. <li key={index} className="text-muted-foreground">{item}</li>
  398. ))}
  399. </ul>
  400. </div>
  401. <div>
  402. <h3 className="text-xl font-semibold mb-3">5.2 {t("ourCookiePreferencesTitle")}</h3>
  403. <p className="text-muted-foreground mb-3">{t("ourCookiePreferencesText")}</p>
  404. <ul className="list-disc pl-6 space-y-2">
  405. {(t("ourCookiePreferencesList") as string[]).map((item, index) => (
  406. <li key={index} className="text-muted-foreground">{item}</li>
  407. ))}
  408. </ul>
  409. </div>
  410. </div>
  411. </section>
  412. {/* 6. Impact of Disabling Cookies */}
  413. <section>
  414. <h2 className="text-2xl font-semibold mb-4">6. {t("impactOfDisablingTitle")}</h2>
  415. <p className="text-muted-foreground mb-4 font-medium">{t("impactNote")}</p>
  416. <ul className="list-disc pl-6 space-y-2">
  417. {(t("impactList") as string[]).map((item, index) => (
  418. <li key={index} className="text-muted-foreground">{item}</li>
  419. ))}
  420. </ul>
  421. </section>
  422. {/* 7. Cookie Security */}
  423. <section>
  424. <h2 className="text-2xl font-semibold mb-4">7. {t("cookieSecurityTitle")}</h2>
  425. <p className="text-muted-foreground mb-4">{t("cookieSecurityText")}</p>
  426. <ul className="list-disc pl-6 space-y-2">
  427. {(t("cookieSecurityList") as string[]).map((item, index) => (
  428. <li key={index} className="text-muted-foreground">{item}</li>
  429. ))}
  430. </ul>
  431. </section>
  432. {/* 8. Updates to This Policy */}
  433. <section>
  434. <h2 className="text-2xl font-semibold mb-4">8. {t("updatesToPolicyTitle")}</h2>
  435. <p className="text-muted-foreground leading-relaxed">{t("updatesToPolicyText")}</p>
  436. </section>
  437. {/* 9. Contact Us */}
  438. <section>
  439. <h2 className="text-2xl font-semibold mb-4">9. {t("contactUsTitle")}</h2>
  440. <p className="text-muted-foreground mb-4">{t("contactUsText")}</p>
  441. <div className="bg-muted p-4 rounded-lg">
  442. <pre className="text-sm text-muted-foreground whitespace-pre-wrap">{t("contactInfo")}</pre>
  443. </div>
  444. </section>
  445. </div>
  446. </div>
  447. </div>
  448. </div>
  449. {/* Footer */}
  450. <Footer locale={locale} />
  451. </div>
  452. </ThemeProvider>
  453. )
  454. }